Process and apparatus for downloading data from a server computer to a client computer

ABSTRACT

A download of a data file from a server computer to a client computer is monitored by the client computer. The download is restarted automatically if a failure occurs. A failure may be a timeout, a loss of a connection, data errors, or other errors that terminate the download. The download may be restarted by instructing the server computer to start reading from a specified offset corresponding to an amount of data that was received reliably by the client, so that data is not unnecessarily retransmitted. This process increases the likelihood that a download will complete successfully. The client program, if specialized for performing downloads, may be stored at the server. In response to a request to download a file, the client program is downloaded first, with the location of the requested file stored within the program. The client program is then executed on the client computer to transfer the requested file. The client program can be made sufficiently small so that downloading of the client program takes little time. The client program can be executed immediately, at a time specified by the user or upon command from the user.



